package com.kinghood.productcenter.dao.base;

import com.kinghood.productcenter.common.model.dao.base.BaseGoodsDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kinghood.productcenter.common.model.dto.base.GoodsQueryDTO;
import com.kinghood.productcenter.common.model.vo.base.GoodsVO;

import java.util.List;

/**
 * <p>
 * 基础选项-货类 Mapper 接口
 * </p>
 *
 * @author KingHood
 * @since 2023-12-20
 */
public interface BaseGoodsMapper extends BaseMapper<BaseGoodsDO> {

    /**
     * 列表
     *
     * @param param 参数
     * @author jp
     * @date 2023/12/27
     */
    List<GoodsVO> listAllGoods(GoodsQueryDTO param);

    /**
     * sort减去1
     *
     * @param category 类别
     * @author jp
     * @date 2023/12/28
     */
    void sortMinusOne(BaseGoodsDO category);

    /**
     * 设置同级其它sort+1
     *
     * @param goods 商品
     * @author jp
     * @date 2023/12/28
     */
    void addSortExcludeId(BaseGoodsDO goods);

    /**
     * 当前以下的加一
     *
     * @param moveOne 移动一个
     * @author jp
     * @date 2023/12/28
     */
    void addSortLessThanThis(BaseGoodsDO moveOne);

    /**
     * 获取最底部的数据
     *
     * @author zfj
     * @date 2024/01/09
     */
    List<BaseGoodsDO> getBottomList();


}
